-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Identity Rebased alpha tracking hub #1436
Open
wulfraem
wants to merge
112
commits into
main
Choose a base branch
from
feat/identity-rebased-alpha
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- migration registry in move code - migration registry integration
* add initial resolving for migrated and undmigrated alias did docs * fix issues after merge conflicts
* test harness & integration tests * naming, removed unused script store active-address to check cache invalidation
* add initial resolving for migrated and undmigrated alias did docs * fix issues after merge conflicts * add resolving of new documents, resolve documents in parallel * test harness & integration tests * naming, removed unused script * move kinesis did resolval to new project, add tests * refactor error mapping (apply review suggestion) * add missing license headers * fix test document sharing, add missing license header --------- Co-authored-by: Enrico Marconi <enrico.marconi@hotmail.it>
* add initial resolving for migrated and undmigrated alias did docs * fix issues after merge conflicts * add resolving of new documents, resolve documents in parallel * test harness & integration tests * naming, removed unused script * move kinesis did resolval to new project, add tests * refactor error mapping (apply review suggestion) * add missing license headers * fix test document sharing, add missing license header * disable resolver integration of kinesis crate * add publishing and tests, error handling still to be done * add error handling * refactor `publish_did` fn into smaller helper functions * remove outdated signing code and tests * refactor config to make singing arguments optinal when resolving dids * add did resolving to client * remove oudated comments * Update identity_sui_name_tbd/src/client.rs Co-authored-by: Enrico Marconi <31142849+UMR1352@users.noreply.github.com> --------- Co-authored-by: Enrico Marconi <enrico.marconi@hotmail.it> Co-authored-by: Enrico Marconi <31142849+UMR1352@users.noreply.github.com>
* multiple controllers, add controller request * remove controller & factor out common operation for did change requests * tests * rename Document to Identity, unwrap assets, verify threshold when presenting request * update document request * add Identity::new_with_controller * transfer control request * integrate with rust code * remove stronghold snapshots & print * enhancement of multi controller proposal inspired by kraken * chore: add tests * chore: add migrate alias test * review comments, proposal's expiration & test * chore: fix migrate alias test * chore: fix tests * chore: address review comments * Rust glue code * chore: add non did doc tests * resolve identities instead of bytes * on chain identity creation * update identity did document * test client * add (raw) document publishing via signer example * add support for publishing of new documents, example * add feature flag for kinesis integration * add resolve example * update example folder structure - split into `iota` and `kinesis` folders (names tbd) * add non-did-modifying basic examples * add non-updating, non-chain advanced examples * bump copyright years in new examples * update sui/kinesis/iota dependencies - update dependency on `sui`/`kinesis` components to `iota` (and update names of those components) - update dependency on `iota-sdk` to `iota-sdk-classic` in tbd project * add attempt to fix `initial_shared_version` arg * update examples and resolve to fit structure update after merge * apply clippy suggestions * update `secret-storage` dependency to git branch * fix dependencies in iota (legacy) examples * fix unwraps and anyhows in client * update tests to follow integration update * fix examples after client update * rename alias `iota-sdk-classic` to `iota-sdk-legacy` * cleanup dependencies * add did update example, update argument handling in update impl * add capability reloading to allow passing it in consecutive tx * add did deactivation * add revoke vc example * update "kinesis" naming: - `KinesisKeySignature` -> `IotaKeySignature` - `Error::DIDResolutionErrorKinesis` -> `Error::DIDResolutionError` --------- Co-authored-by: Enrico Marconi <enrico.marconi@hotmail.it> Co-authored-by: Yasir <goodwonder5@gmail.com> Co-authored-by: Yasir <yasirshariffa@gmail.com>
* multiple controllers, add controller request * remove controller & factor out common operation for did change requests * tests * rename Document to Identity, unwrap assets, verify threshold when presenting request * update document request * add Identity::new_with_controller * transfer control request * integrate with rust code * remove stronghold snapshots & print * enhancement of multi controller proposal inspired by kraken * chore: add tests * chore: add migrate alias test * review comments, proposal's expiration & test * chore: fix migrate alias test * chore: fix tests * chore: address review comments * Rust glue code * chore: add non did doc tests * resolve identities instead of bytes * on chain identity creation * update identity did document * test client * add (raw) document publishing via signer example * add support for publishing of new documents, example * add feature flag for kinesis integration * add resolve example * update example folder structure - split into `iota` and `kinesis` folders (names tbd) * add non-did-modifying basic examples * add non-updating, non-chain advanced examples * bump copyright years in new examples * update sui/kinesis/iota dependencies - update dependency on `sui`/`kinesis` components to `iota` (and update names of those components) - update dependency on `iota-sdk` to `iota-sdk-classic` in tbd project * add attempt to fix `initial_shared_version` arg * update examples and resolve to fit structure update after merge * apply clippy suggestions * update `secret-storage` dependency to git branch * fix dependencies in iota (legacy) examples * fix unwraps and anyhows in client * update tests to follow integration update * fix examples after client update * rename alias `iota-sdk-classic` to `iota-sdk-legacy` * cleanup dependencies * add did update example, update argument handling in update impl * add capability reloading to allow passing it in consecutive tx * add did deactivation * add revoke vc example * add history example and impl * update "kinesis" naming: - `KinesisKeySignature` -> `IotaKeySignature` - `Error::DIDResolutionErrorKinesis` -> `Error::DIDResolutionError` * update error handling - remove panics - align ptb.pure and ptb.obj error handling - align identifier parsing * remove unwraps in non-test code * add domain linkage example * add paging to history example --------- Co-authored-by: Enrico Marconi <enrico.marconi@hotmail.it> Co-authored-by: Yasir <goodwonder5@gmail.com> Co-authored-by: Yasir <yasirshariffa@gmail.com>
* multiple controllers, add controller request * remove controller & factor out common operation for did change requests * tests * rename Document to Identity, unwrap assets, verify threshold when presenting request * update document request * add Identity::new_with_controller * transfer control request * integrate with rust code * remove stronghold snapshots & print * enhancement of multi controller proposal inspired by kraken * chore: add tests * chore: add migrate alias test * review comments, proposal's expiration & test * chore: fix migrate alias test * chore: fix tests * chore: address review comments * Rust glue code * chore: add non did doc tests * resolve identities instead of bytes * on chain identity creation * update identity did document * test client * update sui/kinesis/iota dependencies - update dependency on `sui`/`kinesis` components to `iota` (and update names of those components) - update dependency on `iota-sdk` to `iota-sdk-classic` in tbd project * add attempt to fix `initial_shared_version` arg * Feat/authenticated asset * AuthenticatedAsset & TransferProposal * use proposal for trasfering AuthenticatedAssets * authenticated asset creation * transfer of assets between addresses * transfer proposal conclusion * refinement * update mutable asset * delete asset * fix bug, refinement * approval of proposals * propose config change glue code * execute proposal, test config change * proposal refactor * fix move tests * allow chained execution of proposals * documentation for ProposalResult * adapt merged code * export request_funds for examples * Update examples/iota/Cargo.toml Co-authored-by: wulfraem <wulfraem@users.noreply.github.com> * Update identity_iota_core/Cargo.toml Co-authored-by: wulfraem <wulfraem@users.noreply.github.com> * fix logic for propose_modify --------- Co-authored-by: Yasir <goodwonder5@gmail.com> Co-authored-by: Yasir <yasirshariffa@gmail.com> Co-authored-by: Sebastian Wolfram <wulfraem@users.noreply.github.com>
* client refactor * add package_id to client construction * rename secret_storage's error import * Update identity_storage/src/storage/storage_signer.rs Co-authored-by: wulfraem <wulfraem@users.noreply.github.com> * review comments * Update identity_sui_name_tbd/src/client/read_only.rs Co-authored-by: wulfraem <wulfraem@users.noreply.github.com> --------- Co-authored-by: wulfraem <wulfraem@users.noreply.github.com>
* client refactor * publish VCs * add move struct, validate credential in test * add package_id to client construction * rename secret_storage's error import * Update identity_storage/src/storage/storage_signer.rs Co-authored-by: wulfraem <wulfraem@users.noreply.github.com> * review comments * clippy & fmt --------- Co-authored-by: wulfraem <wulfraem@users.noreply.github.com>
* identity refactor * apply new tx design to authenticated assets * switch to new transaction model * use max gas budget instead of u64::max * [feat] Public Available Credential * client refactor * publish VCs * add move struct, validate credential in test * add package_id to client construction * rename secret_storage's error import * Update identity_storage/src/storage/storage_signer.rs Co-authored-by: wulfraem <wulfraem@users.noreply.github.com> * review comments * clippy & fmt --------- Co-authored-by: wulfraem <wulfraem@users.noreply.github.com> * test structure, fix random drop of dispatch task --------- Co-authored-by: Sebastian Wolfram <wulfraem@users.noreply.github.com>
Co-authored-by: Sebastian Wolfram <wulfraem@users.noreply.github.com>
- re-add history tests - remove fixed versions as sequence numbers depend of faucet
- fix `hosting_vc_works` test
feat: Add document creation and identity creation This commit adds functionality for creating a document and an identity. It includes the following changes: Refactor grpc imports in server and services modules Refactor grpc imports in server and services modules; Update deps
… incase it is remove
fix: update path for identity_sui_name_tbd in examples/Cargo.toml feat: add linked verifiable presentation example and update dependencies
* feat: add linked verifiable presentation example and update dependencies * identity send & borrow assets * TransactionOutput to return both parsed output and raw tx response * identity send & borrow assets * identity send & borrow assets * de-duplicate code in tests * rename move function --------- Co-authored-by: Yasir <yasir@shariff.dev>
* Move identity_wasm package into new folder bindings/wasm/identity_wasm * Reorganize tsconfig and typedoc files * Extend build scripts to handle multiple artifacts and add new bindings/wasm README.md * Update identity_wasm/package.json to use shared build scripts * Initial version of the identity_iota_interaction crate * MoveType has been moved from identity_iota_core to identity_iota_interaction * The identity_iota_interaction README has been updated to use the latest draft for folder and crate names * Provide identity_iota_interaction crate types as `use identity_iota::iota_interaction::...` * Initial version of iota_interactions_ts * Prepare identity_iota_core/rebased for iota_interaction usage * Minor README fixes * Updated identity_interaction_rust MoveCalls to the latest identity_iota_core/rebase version * First compilable but not successfully testable version of identity_iota_core for the redesigned crate structure * Compiling identity_iota_core for wasm32 will result in one compiler error due to missing wasm-bindings for ProgrammableTransaction (TODO in identity_iota_core/src/rebased/transaction.rs) * identity_iota_core and examples are compilable for non wasm32 platforms * Remaining compiler warnings should be investigated * identity_iota_core e2e tests are compilable but will fail due to serialization/deserialization issues. For example: IotaTransactionBlockResponse bcs deserialization failed: NotSupported("deserialize_any") thread 'identity::adding_controller_works' panicked at /home/christof/Develop/iotaledger/identity.rs/identity_iota_core/src/rebased/transaction.rs:84:14: IotaTransactionBlockResponse bcs deserialization failed: NotSupported("deserialize_any") stack backtrace: 0: rust_begin_unwind 1: core::panicking::panic_fmt 2: core::result::unwrap_failed 3: <identity_iota_core::rebased::transaction::TransactionOutput<T> as core::convert::From<identity_iota_core::rebased::transaction::TransactionOutputInternal<T>>>::from 4: <T as identity_iota_core::rebased::transaction::Transaction>::execute_with_opt_gas::{{closure}} 5: identity_iota_core::rebased::transaction::Transaction::execute::{{closure}} 6: e2e::identity::adding_controller_works::{{closure}} 7: tokio::runtime::scheduler::current_thread::CurrentThread::block_on 8: tokio::runtime::runtime::Runtime::block_on 9: e2e::identity::adding_controller_works 10: core::ops::function::FnOnce::call_once note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. * add stubs for `ProgrammableTransaction` type chain * re-add changes from `feat/add-iota_client_ts_sdk-impls` as closely as possible * ts move calls * Use cloned native IotaTransactionBlockResponse instead of a BCS deserialization BCS deserialization is not available for IotaTransactionBlockResponse because the BCS format is not self describing and several struct fields of IotaTransactionBlockResponse are optionally skipped during serialization. JSON deserialization will probably be available but using a cloned instance to convert a TransactionOutputInternal into a TransactionOutput will have a much better efficiency. * Fix build warnings and fix MoveType implementation for IotaVerifiableCredential All tests running successfully for the first time now * Fix & allow clippy errors * Fix clippy error writing `&Vec` instead of `&[_]` involves a new object where a slice will do * allow error clippy::too_many_arguments * Fix even more clippy errors * Elide superfluous explicit lifetimes * Use rustfmt ignore to exclude identity_iota_interaction/src/sdk_types from format checks * Fix rustfmt issues for identity_iota_core/src/iota_interaction_rust and identity_iota_interaction * Fix rustfmt issues for bindings/wasm/iota_interaction_ts and identity_iota_core * Update all paths for bindings/wasm/identity_wasm in al GH workflows files and add clippy + format steps for bindings/wasm/iota_interaction_ts * Rollback removing bindings/wasm/iota_interaction_ts from the workspace members list * Fix format issue for step "wasm fmt check identity_wasm" * Fix issue "identity_iota_core not compilable using --no-default-features" * Remove iota_interaction_ts related steps from github workflows as this crate is processed as workspace member * Fix several dprint issues * scratch * Add iota_interaction_ts build products as 'excludes' to the dprint config * Fixing paths to the bindings/wasm/identity_wasm crate in several READMEs and gitignore files * fix dprint issue missing empty line at end of file * Update licence_template file to allow optional "Modifications", "(c)" words and specific contributor copyrights * Add missing copyright license comments * Narrowed the dockerignore filter down from "bindings/wasm" to "bindings/wasm/identity_wasm" because bindings/wasm/iota_interaction_ts is needed to build the docker image * implement TsMoveCalls * bindings/wasm projects identity_wasm and iota_interaction_ts can be build now and example bindings/wasm/identity_wasm/examples/src/0_basic/-1_test_api_call.ts can be started * dprint refomated * assets move calls * avoid unsafe * clippy * Removed IntentFn adapters and fixed several issues reulting from last merged PR - identity_wasm rust toolchain set to "1.84.0" * implement missing bindings * make iota_interaction_ts a workspace member again * TransactionBuilder adaptor * TransactionBlockResponseAdapter * fix merge issues * fmt * Update package.json Removed superfluous @iota/iota-sdk dependency from iota_interaction_ts package * fix formatting and re-add TS ProgrammableTransaction * identity_wasm fmt --------- Co-authored-by: chrisgitiota <christof.gerritsma@iota.org> Co-authored-by: Sebastian Wolfram <wulfraem@users.noreply.github.com>
….1-rc (#1508) * New feature flag in crate identity_wasm to control dependency identity_iota::resolver * Updated sources contained in identity_iota_interaction/src/sdk_types to v0.8.1-rc version of the iotaledger/iota repository * Changed iota dependencies to v0.8.1-rc fastcrypto dependency version remains the same with iota v0.8.1-rc
Merged upstream changes from iotaledger/iota v0.9.2-rc into identity_iota_interaction
* fix typedoc issues after `wasm-bindgen` version bump
…entity Deletion (#1568) * update smart contract * delete identity test * add a way to forcefully delete a proposal when an identity is deleted * bare identities, delete identity proposal, did deactivation/deletion become updates * fix tests * limit identity operations if identity is deleted * test DID deletion * integrate changes in Rust library * fix rebasing issues * WASM integration * fmt * dprint fmt * No support for Bare Identities * WASM Identity always has a DID Document * Apply suggestions from code review Co-authored-by: wulfraem <wulfraem@users.noreply.github.com> * Update identity_iota_core/packages/iota_identity/sources/identity.move Co-authored-by: wulfraem <wulfraem@users.noreply.github.com> --------- Co-authored-by: wulfraem <wulfraem@users.noreply.github.com>
d859450
to
ffe2295
Compare
d859450
to
45ef285
Compare
* align error output in test helpers, improve publish error response * add server log file archiving * update `fix_docs` command - now supports Linux' and macOS' version of `sed`
* add support to pass gas budget to `CreateIdentityTx` and `PublishDidTx` * add coin lookup to `getCoinForTransaction` (ts impl) - now checks balances and pages through coins instead of only taking the second coin - align error messages between Rust and TypeScript * align default budgets to 50_000_000
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Breaking change
A change to the API that requires a major release. Part of "Changed" section in changelog
Rust
Related to the core Rust code. Becomes part of the Rust changelog.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Okay, after that loud heading, let's clarify, why it shouldn't be merged. :)
This PR is used to track the status of commits and to compare file changes for the updates regarding compatibility with IOTA Rebased networks. It will be merged in the future, but not for now.
About the changes in this PR
At the moment, the project has two
main
-ish branches in the repository:main
that is compatible with IOTA Stardust networksfeat/identity-rebased-alpha
that is compatible with IOTA Rebased networksThe changes previewed here will be applied to
main
but not until IOTA mainnet has shifted to Rebased protocol. For now this PR is our tracking hub for the upcoming changes.